localtime()
, gmtime()
এবং টাইম জোন হ্যান্ডলিংসি প্রোগ্রামিং ভাষায় টাইম জোন হ্যান্ডলিং এবং টাইম সম্পর্কিত অপারেশন করার জন্য time.h
হেডার ফাইলটি ব্যবহৃত হয়। এই হেডার ফাইলটি বিভিন্ন টাইম ফাংশন সরবরাহ করে, যার মাধ্যমে আপনি বর্তমান সময় বের করতে, টাইম জোন সম্পর্কিত কাজ করতে এবং সময়ের সঙ্গে সম্পর্কিত অপারেশন করতে পারেন। localtime()
এবং gmtime()
ফাংশন দুটি প্রধান ফাংশন যা টাইম সম্পর্কিত কাজ করার জন্য ব্যবহৃত হয়।
এখানে localtime()
, gmtime()
এবং টাইম জোন হ্যান্ডলিং সম্পর্কিত বিস্তারিত আলোচনা করা হয়েছে।
localtime()
– লোকাল টাইমে সময় রূপান্তরlocaltime()
ফাংশনটি একটি time_t
টাইপের মান গ্রহণ করে এবং তা লোকাল টাইম (অর্থাৎ, আপনার সিস্টেমের টাইম জোন অনুযায়ী) অনুযায়ী রূপান্তরিত করে। এটি struct tm
টাইপের একটি পয়েন্টার রিটার্ন করে, যা সিস্টেমের লোকাল টাইমের বিস্তারিত তথ্য ধারণ করে।
struct tm *localtime(const time_t *time);
#include <stdio.h>
#include <time.h>
int main() {
time_t rawtime;
struct tm *timeinfo;
time(&rawtime); // বর্তমান সময় সংগ্রহ
timeinfo = localtime(&rawtime); // লোকাল টাইমে রূপান্তর
printf("Local time and date: %s", asctime(timeinfo)); // লোকাল সময় প্রদর্শন
return 0;
}
এখানে localtime()
ফাংশনটি বর্তমান সময়কে সিস্টেমের লোকাল টাইমে রূপান্তর করেছে এবং asctime()
ফাংশনটি সেই টাইমের একটি ফরম্যাটেড আউটপুট প্রদর্শন করেছে।
gmtime()
– গ্রিনউইচ মীন টাইম (GMT) বা ইউটিসি (UTC)gmtime()
ফাংশনটি time_t
টাইপের একটি মান গ্রহণ করে এবং তা গ্রিনউইচ মীন টাইম (GMT) বা কোঅর্ডিনেটেড ইউনিভার্সাল টাইম (UTC) এ রূপান্তরিত করে। এটি struct tm
টাইপের একটি পয়েন্টার রিটার্ন করে, যা GMT বা UTC এর তথ্য ধারণ করে।
struct tm *gmtime(const time_t *time);
#include <stdio.h>
#include <time.h>
int main() {
time_t rawtime;
struct tm *timeinfo;
time(&rawtime); // বর্তমান সময় সংগ্রহ
timeinfo = gmtime(&rawtime); // UTC বা GMT সময়ে রূপান্তর
printf("UTC time and date: %s", asctime(timeinfo)); // UTC সময় প্রদর্শন
return 0;
}
এখানে gmtime()
ফাংশনটি বর্তমান সময়কে UTC (গ্রিনউইচ মীন টাইম) এ রূপান্তর করেছে এবং asctime()
ফাংশনটি সেই সময়ের একটি ফরম্যাটেড আউটপুট প্রদর্শন করেছে।
টাইম জোন সম্পর্কিত কিছু ফাংশন সি প্রোগ্রামে time.h
হেডার ফাইলে পাওয়া যায়। সিস্টেমের টাইম জোন এবং সময়ের সঠিক হিসাব করার জন্য timezone
, tzset()
, এবং strftime()
ফাংশনগুলো ব্যবহৃত হয়।
timezone
এবং tzset()
timezone
একটি গ্লোবাল ভ্যারিয়েবল যা সিস্টেমের লোকাল টাইম জোনের ব্যবধান (ডিফারেন্স) দেখায় GMT এর সাথে। tzset()
ফাংশনটি টাইম জোনের তথ্য আপডেট করে, যা টাইম জোন সম্পর্কিত অন্যান্য ফাংশনগুলোকে সঠিকভাবে কাজ করতে সাহায্য করে।
#include <stdio.h>
#include <time.h>
int main() {
time_t rawtime;
struct tm *timeinfo;
time(&rawtime); // বর্তমান সময় সংগ্রহ
tzset(); // টাইম জোন সেট আপডেট করা
timeinfo = localtime(&rawtime); // লোকাল টাইমে রূপান্তর
printf("Local time: %s", asctime(timeinfo));
printf("Timezone offset: %ld seconds\n", timezone); // টাইম জোনের ডিফারেন্স প্রদর্শন
return 0;
}
এখানে timezone
গ্লোবাল ভ্যারিয়েবলটি ব্যবহার করা হয়েছে টাইম জোনের ডিফারেন্স প্রদর্শনের জন্য।
strftime()
– সময় ফরম্যাটে রূপান্তরstrftime()
ফাংশনটি একটি struct tm
টাইপের সময়কে একটি স্ট্রিংয়ের ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়। এটি সময় এবং তারিখের আউটপুটকে বিশেষ ফরম্যাটে প্রিন্ট করতে ব্যবহৃত হয়।
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr);
str
– যেখানে ফরম্যাটেড সময় রাখা হবে।maxsize
– স্ট্রিংটির আকার।format
– সময়ের ফরম্যাট।timeptr
– struct tm
টাইপের টাইম পয়েন্টার।#include <stdio.h>
#include <time.h>
int main() {
time_t rawtime;
struct tm *timeinfo;
char buffer[80];
time(&rawtime); // বর্তমান সময় সংগ্রহ
timeinfo = localtime(&rawtime); // লোকাল টাইমে রূপান্তর
// সময়ের ফরম্যাট নির্ধারণ করা
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeinfo);
printf("Formatted time: %s\n", buffer); // ফরম্যাটে রূপান্তরিত সময় প্রদর্শন
return 0;
}
এখানে strftime()
ফাংশনটি বর্তমান সময়কে একটি নির্দিষ্ট ফরম্যাটে রূপান্তর করেছে, যেমন: "YYYY-MM-DD HH:MM:SS"
।
ফাংশন | কাজ |
---|---|
localtime() | UTC সময়কে লোকাল টাইমে রূপান্তরিত করে |
gmtime() | লোকাল সময়কে UTC (GMT) সময়ে রূপান্তরিত করে |
timezone | সিস্টেমের লোকাল টাইম জোনের ডিফারেন্স দেখায় |
tzset() | টাইম জোন সম্পর্কিত তথ্য আপডেট করে |
strftime() | struct tm টাইপের সময়কে একটি নির্দিষ্ট ফরম্যাটে রূপান্তর করে |
localtime()
এবং gmtime()
ফাংশনগুলি সময়ের লোকাল টাইম এবং UTC সময়ে রূপান্তরের জন্য ব্যবহৃত হয়, যা বিভিন্ন সময় অঞ্চল সম্পর্কিত কাজের জন্য অত্যন্ত গুরুত্বপূর্ণ। strftime()
ফাংশনটি সময়কে একটি ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়, যা ব্যবহারকারীর ইন্টারফেসে প্রয়োজনীয় আউটপুট প্রদান করতে সহায়ক।
common.read_more